<template>
  <div>
      <!-- 新增地址 -->
        <div class="md-modal modal-msg md-modal-transition" v-bind:class="{'md-show':modalFlag}">
            <div class="md-modal-inner">
                <div class="md-top">
                    <div class="md-title">添加新地址</div>
                    <button class="md-close" @click="modalFlag=false">关闭</button>
                </div>
                <div class="md-content">
                    <div class="text item">
                      <el-form
                        size="small"
                        :model="addressAddForm"
                        status-icon
                        :rules="rules"
                        ref="addressAddForm"
                        label-width="100px"
                        class="demo-ruleForm"
                        hide-required-asterisk>
                        <el-form-item label="收件人" prop="recName">
                          <el-input type="text" v-model="addressAddForm.addressee" style="width:250px"></el-input>
                        </el-form-item>

                        <el-form-item label="收货地址" prop="streetName">
                          <el-input type="textarea" v-model="addressAddForm.site" style="width:250px"></el-input>
                        </el-form-item>

                        <el-form-item label="电话" prop="tel">
                          <el-input type="text" v-model="addressAddForm.phone" style="width:250px"></el-input>
                        </el-form-item>

                        <el-form-item label="是否设为默认" prop="isDefault">
                          <el-switch v-model="addressAddForm.isDefault"></el-switch>
                        </el-form-item>
                      </el-form>



<!--                        <ul>-->
<!--                            <li class="regi_form_input">-->
<!--                                &lt;!&ndash; <i class="icon IconPeople"></i> &ndash;&gt;-->
<!--                                <input type="text" tabindex="1" name="loginname" v-model="recName" placeholder="收件人" data-type="loginname" class="regi_login_input regi_login_input_left">-->
<!--                            </li>-->
<!--                            <li class="regi_form_input noMargin">-->
<!--                                &lt;!&ndash; <i class="icon IconPwd"></i> &ndash;&gt;-->
<!--                                <input type="text" tabindex="2" name="password" v-model="streetName" placeholder="地址" class="regi_login_input regi_login_input_left login-input-no input_text">-->
<!--                            </li>-->
<!--                             <li class="regi_form_input noMargin">-->
<!--                                &lt;!&ndash; <i class="icon IconPwd"></i> &ndash;&gt;-->
<!--                                <input type="text" tabindex="2" name="password" v-model="tel" placeholder="电话" class="regi_login_input regi_login_input_left login-input-no input_text">-->
<!--                            </li>-->
<!--                            <li class="regi_form_input noMargin">-->
<!--                              <el-form-item label="是否促销" prop="promotion">-->
<!--                                <el-switch v-model="isDefault"></el-switch>-->
<!--                              </el-form-item>-->
<!--                            </li>-->
<!--                        </ul>-->
                    </div>
                    <div class="login-wrap">
                        <a href="javascript:;" class="btn-login" @click="addAddress">添加</a>
                    </div>
                </div>

            </div>
        </div>
        <div class="md-overlay" v-if="modalFlag" @click="modalFlag=false;"></div>

    <nav-header></nav-header>
    <nav-bread>
      <span slot="bread">地址</span>
    </nav-bread>
    <div class="checkout-page">
      <svg style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"
           xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
        <defs>
          <symbol id="icon-add" viewBox="0 0 31 32">
            <title>添加</title>
            <path class="path1"
                  d="M30.745 15.152h-14.382v-14.596c0-0.308-0.243-0.557-0.543-0.557s-0.543 0.249-0.543 0.557v14.596h-14.665c-0.3 0-0.543 0.249-0.543 0.557s0.243 0.557 0.543 0.557h14.665v15.177c0 0.307 0.243 0.557 0.543 0.557s0.543-0.249 0.543-0.557v-15.177h14.382c0.3 0 0.543-0.249 0.543-0.557s-0.243-0.557-0.543-0.557z"></path>
          </symbol>
          <symbol id="icon-ok" viewBox="0 0 32 32">
            <title>确认</title>
            <path class="path1"
                  d="M14.084 20.656l-7.845-9.282c-1.288-1.482-3.534-1.639-5.016-0.351s-1.639 3.534-0.351 5.016l10.697 12.306c1.451 1.669 4.057 1.623 5.448-0.096l18.168-22.456c1.235-1.527 0.999-3.765-0.528-5.001s-3.765-0.999-5.001 0.528l-15.573 19.337z"></path>
          </symbol>
          <symbol id="icon-edit" viewBox="0 0 32 32">
            <title>编辑</title>
            <path class="path1"
                  d="M28.287 8.51l-4.805-4.806 0.831-0.831c0.472-0.472 1.086-0.777 1.564-0.777 0.248 0 0.452 0.082 0.622 0.253l3.143 3.144c0.539 0.54 0.133 1.529-0.524 2.186l-0.831 0.831zM26.805 9.992l-1.138 1.138-4.805-4.806 1.138-1.138 4.805 4.806zM24.186 12.612l-14.758 14.762-4.805-4.806 14.758-14.762 4.805 4.806zM7.379 28.288l-4.892 1.224 1.223-4.894 3.669 3.67zM31.123 4.011l-3.143-3.144c-0.567-0.567-1.294-0.867-2.103-0.867-1.036 0-2.174 0.52-3.045 1.391l-20.429 20.436c-0.135 0.134-0.23 0.302-0.276 0.487l-2.095 8.385c-0.089 0.355 0.017 0.736 0.276 0.995 0.198 0.198 0.461 0.307 0.741 0.307 0.085 0 0.171-0.010 0.254-0.031l8.381-2.096c0.185-0.047 0.354-0.142 0.487-0.276l20.43-20.436c1.409-1.41 2.042-3.632 0.524-5.15v0z"></path>
          </symbol>
          <symbol id="icon-del" viewBox="0 0 32 32">
            <title>删除</title>
            <path class="path1"
                  d="M11.355 4.129v-2.065h9.29v2.065h-9.29zM6.194 29.935v-23.742h19.613v23.742h-19.613zM30.968 4.129h-8.258v-3.097c0-0.569-0.463-1.032-1.032-1.032h-11.355c-0.569 0-1.032 0.463-1.032 1.032v3.097h-8.258c-0.569 0-1.032 0.463-1.032 1.032s0.463 1.032 1.032 1.032h3.097v24.774c0 0.569 0.463 1.032 1.032 1.032h21.677c0.569 0 1.032-0.463 1.032-1.032v-24.774h3.097c0.569 0 1.032-0.463 1.032-1.032s-0.463-1.032-1.032-1.032v0z"></path>
            <path class="path2"
                  d="M10.323 9.806c-0.569 0-1.032 0.463-1.032 1.032v14.452c0 0.569 0.463 1.032 1.032 1.032s1.032-0.463 1.032-1.032v-14.452c0-0.569-0.463-1.032-1.032-1.032z"></path>
            <path class="path3"
                  d="M16 9.806c-0.569 0-1.032 0.463-1.032 1.032v14.452c0 0.569 0.463 1.032 1.032 1.032s1.032-0.463 1.032-1.032v-14.452c0-0.569-0.463-1.032-1.032-1.032z"></path>
            <path class="path4"
                  d="M21.677 9.806c-0.569 0-1.032 0.463-1.032 1.032v14.452c0 0.569 0.463 1.032 1.032 1.032s1.032-0.463 1.032-1.032v-14.452c0-0.569-0.463-1.032-1.032-1.032z"></path>
          </symbol>
          <symbol id="icon-clock" viewBox="0 0 32 32">
            <title>clock</title>
            <path class="path1"
                  d="M29.333 16c0-7.364-5.97-13.333-13.333-13.333s-13.333 5.97-13.333 13.333c0 7.364 5.97 13.333 13.333 13.333s13.333-5.97 13.333-13.333v0 0 0 0 0 0zM0 16c0-8.837 7.163-16 16-16s16 7.163 16 16c0 8.837-7.163 16-16 16s-16-7.163-16-16zM14.667 14.667v1.333h2.667v-10.667h-2.667v9.333zM24 18.667h1.333v-2.667h-10.667v2.667h9.333z"></path>
          </symbol>
          <symbol id="icon-question" viewBox="0 0 32 32">
            <title>question</title>
            <path class="path1"
                  d="M16 2.56c7.411 0 13.44 6.029 13.44 13.44s-6.029 13.44-13.44 13.44c-7.411 0-13.44-6.029-13.44-13.44s6.029-13.44 13.44-13.44zM16 0c-8.822 0-16 7.178-16 16s7.178 16 16 16c8.822 0 16-7.178 16-16s-7.178-16-16-16z"></path>
            <path class="path2"
                  d="M16 22.080c-1.059 0-1.92 0.861-1.92 1.92s0.861 1.92 1.92 1.92c1.059 0 1.92-0.861 1.92-1.92s-0.861-1.92-1.92-1.92z"></path>
            <path class="path3"
                  d="M12.16 12.48c0.706 0 1.28-0.574 1.28-1.28 0-1.412 1.148-2.56 2.56-2.56s2.56 1.148 2.56 2.56c0 1.412-1.148 2.56-2.56 2.56-0.706 0-1.28 0.574-1.28 1.28v3.84c0 0.706 0.574 1.28 1.28 1.28s1.28-0.574 1.28-1.28v-2.723c2.224-0.575 3.84-2.616 3.84-4.957 0-2.823-2.297-5.12-5.12-5.12s-5.12 2.297-5.12 5.12c0 0.706 0.574 1.28 1.28 1.28z"></path>
          </symbol>
        </defs>
      </svg>
      <div class="container">
        <div class="checkout-addr">
          <div class="page-title-normal">
            <h2 class="page-title-h2"><span>check out</span></h2>
          </div>
          <!-- process step -->
          <div class="check-step">
            <ul>
              <li class="cur"><span>配送</span>订单</li>
              <li><span>提交</span>订单</li>
              <li><span>支付</span>订单</li>
              <li><span>确认</span>订单</li>
            </ul>
          </div>

          <!-- address list -->
          <div class="page-title-normal checkout-title">
            <h2><span>请选择您的地址：</span></h2>
          </div>
          <div class="addr-list-wrap">
            <div class="addr-list">
              <ul>
                <li v-for="(item,index) in addressListFilter" v-bind:class="{'check':checkIndex===index}"
                    @click="checkIndex=index;selectedAddressId=item.id">
                  <dl>
                    <dt>{{item.addressee}}</dt>
                    <dd class="address">{{item.site}}</dd>
                    <dd class="tel">{{item.phone}}</dd>
                  </dl>
                  <div class="addr-opration addr-del">
                    <a href="javascript:;" class="addr-del-btn" @click="delAddressConfirm(item.id)">
                      <svg class="icon icon-del">
                        <use xlink:href="#icon-del"></use>
                      </svg>
                    </a>
                  </div>
                  <div class="addr-opration addr-set-default">
                    <a href="javascript:;" class="addr-set-default-btn" v-if="!item.isDefault"
                       @click="setDefault(item.id)"><i>设为默认地址</i></a>
                  </div>
                  <div class="addr-opration addr-default" v-if="item.isDefault">默认地址</div>
                </li>
                <li class="addr-new" v-if="nums<6" @click="modalFlag=true;">
                  <div class="add-new-inner">
                    <i class="icon-add">
                      <svg class="icon icon-add">
                        <use xlink:href="#icon-add"></use>
                      </svg>
                    </i>
                    <p>Add new address</p>
                  </div>
                </li>
              </ul>
            </div>

            <!-- <div class="shipping-addr-more">
              <a class="addr-more-btn up-down-btn" href="javascript:;" @click="expend" v-bind:class="{'open':limit>3}">
                更多
                <i class="i-up-down">
                  <i class="i-up-down-l"></i>
                  <i class="i-up-down-r"></i>
                </i>
              </a>
            </div> -->
          </div>

          <!-- shipping method-->
          <div class="page-title-normal checkout-title">
            <h2><span>请选择您的配送方式：</span></h2>
          </div>
          <div class="shipping-method-wrap">
            <div class="shipping-method">
              <ul>
                <li v-bind:class="{'check':checkWay===1}" @click="setWay(1)">
                  <div class="name">标准配送</div>
                  <div class="price">免费</div>
                  <div class="shipping-tips">
                    <p>Once shipped，Order should arrive in the destination in 5-7 hours</p>
                  </div>
                </li>
                <li v-bind:class="{'check':checkWay===2}" @click="setWay(2)">
                  <div class="name">加急配送</div>
                  <div class="price">￥20</div>
                  <div class="shipping-tips">
                    <p>Once shipped，Order should arrive in the destination in 1-2 hours</p>
                  </div>
                </li>
              </ul>
            </div>
          </div>
          <div class="next-btn-wrap">
            <router-link class="btn btn--m btn--red"
                         v-bind:to="{path:'/orderConfirm/'+this.checkWay,query:{'addressId':selectedAddressId}}">下一步
            </router-link>
          </div>
        </div>
      </div>
    </div>
    <modal :mdShow="isMdShow" @close="closeModal">
      <p slot="message">您是否要删除此地址？</p>
      <div slot="btnGroup">
        <a class="btn btn--m" href="javascript:;" @click="delAddress">确认</a>
        <a class="btn btn--m" href="javascript:;" @click="isMdShow=false">取消</a>
      </div>
    </modal>
    <nav-footer></nav-footer>
  </div>
</template>

<script>
import NavHeader from "./../components/NavHeader";
import NavFooter from "./../components/NavFooter";
import NavBread from "./../components/NavBread";
import Modal from "./../components/Modal";
import axios from "axios";

export default {
  data() {
    return {
      selectBasket:[],
      nums:0,
      modalFlag: false,
      limit: 6,
      checkIndex: 0,
      checkWay:1,
      selectedAddressId: "",
      isMdShow: false,
      addressId: "",
      addressList: [],
      addressAddForm:{
        customerId: "",
        addressee: "",
        site: "",
        phone: "",
        isDefault:false
      },
      rules: {
        addressee: [
          {required: true, message: "请输入收货人姓名", trigger: "change"}
        ],
        site: [
          {required: true, message: "地址不能为空", trigger: "blur"}
        ],
        phone: [
          {required: true, message: "电话不能为空", trigger: "blur"}
        ]
      }
    };
  },
  components: {
    NavHeader,
    NavFooter,
    NavBread,
    Modal
  },
  mounted() {
    this.init();
  },
  computed: {
    addressListFilter() {
      return this.addressList.slice(0, this.limit);
    }
  },
  methods: {
    //选择配送方式
    setWay(i){
      this.checkWay = i
    },
    //添加地址
    addAddress() {
      let params = {
        customerId: JSON.parse(sessionStorage.getItem("user")).id,
        addressee: this.addressAddForm.addressee,
        site: this.addressAddForm.site,
        phone: this.addressAddForm.phone,
        isDefault: this.addressAddForm.isDefault
      };
      axios.post("/customer/addAddress", params,{ headers:{content:"application/json;charset=UTF-8" }})
        .then(result => {
          let { code, reason } = result.data;
          if (code === 0) {
            //弹出成功提示
            this.$message({
              showClose:true,
              type:"success",
              message: reason
            });
            this.modalFlag = false;
            this.init();
          } else {
            //弹出失败提示
            this.$message.error(reason);
            this.addressList = [];
          }
        })
        .catch(function(error) {
          console.log("error init." + error);
        });
    },
    //初始化（获取地址）
    init() {
      this.$axios
        .get("/customer/getAddress?cid="+JSON.parse(sessionStorage.getItem("user")).id)
        .then(result => {
          let res = result.data;
          console.log(res.data);
          this.nums = res.data.length;
          if (res.code === 0) {
            let defaultItem = {},
              defaultIndex = 0;
            res.data.forEach((item, i) => {
              if (item.isDefault) {
                defaultItem = item;
                defaultIndex = i;
              }
            });
            if (res.data.length > 0) {
              res.data.splice(defaultIndex, 1);
              res.data.unshift(defaultItem);
              this.addressList = res.data;
              this.selectedAddressId = defaultItem.id;
            }
          } else {
            this.addressList = [];
          }
        })
        .catch(function(error) {
          console.log("error init." + error);
        });
    },
    expend() {
      if (this.limit == 6) {
        this.limit = this.addressList.length;
      } else {
        this.limit = 6;
      }
    },
    //修改默认地址
    setDefault(id) {
      let params = {
        customerId: JSON.parse(sessionStorage.getItem("user")).id,
        addressId: id
      }
      this.$axios
        .post("/customer/alertDefault", params, { headers:{content:"application/json;charset=UTF-8" }})
        .then(result => {
          let { code, reason } = result.data;
          if (code === 0) {
            //弹出成功提示
            this.$message({
              showClose:true,
              type:"success",
              message: reason
            });
            this.init();
          } else {
          }
        })
        .catch(function(error) {
          console.log("error init." + error);
        });
    },
    closeModal() {
      this.isMdShow = false;
    },
    delAddressConfirm(addressId) {
      this.isMdShow = true;
      this.addressId = addressId;
    },
    //删除地址
    delAddress() {
      this.$axios
        .get("/customer/deleteAddress?id="+this.addressId)
        .then(result => {
          let { code, reason } = result.data;
          if (code === 0) {
            //弹出成功提示
            this.$message({
              showClose:true,
              type:"success",
              message: reason
            });
            this.isMdShow = false;
            this.init();
          } else {
            //弹出成功提示
            this.$message({
              showClose:true,
              type:"error",
              message: reason
            });
          }
        })
        .catch(function(error) {
          console.log("error init." + error);
        });
    }
  }
};
</script>

<style>
</style>
